home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-pppext-lcpext-00.txt < prev    next >
Text File  |  1993-03-03  |  21KB  |  928 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            Simpson
  8. Internet Draft                                                Daydreamer
  9. expires in six months                                       January 1992
  10.  
  11.  
  12.  
  13.                            PPP LCP Extensions
  14.  
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.    This memo is the product of the Point-to-Point Protocol Working Group
  20.    of the Internet Engineering Task Force (IETF).  Comments on this memo
  21.    should be submitted to the ietf-ppp@ucdavis.edu mailing list.
  22.  
  23.    Distribution of this memo is unlimited.
  24.  
  25.    This document is an Internet Draft.  Internet Drafts are working
  26.    documents of the Internet Engineering Task Force (IETF), its Areas,
  27.    and its Working Groups.  Note that other groups may also distribute
  28.    working documents as Internet Drafts.  Internet Drafts are draft
  29.    documents valid for a maximum of six months.  Internet Drafts may be
  30.    updated, replaced, or obsoleted by other documents at any time.  It
  31.    is not appropriate to use Internet Drafts as reference material or to
  32.    cite them other than as a ``working draft'' or ``work in progress.''
  33.    Please check the 1id-abstracts.txt listing contained in the
  34.    internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  35.    nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  36.    current status of any Internet Draft.
  37.  
  38. Abstract
  39.  
  40.    The Point-to-Point Protocol (PPP) [1] provides a standard method of
  41.    encapsulating Network Layer protocol information over point-to-point
  42.    links.  PPP also defines an extensible Link Control Protocol.
  43.  
  44.    This document defines several additional LCP features which have been
  45.    suggested over the past year.
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Simpson                  expires in six months                  [Page i]
  59. DRAFT                      PPP LCP extensions               January 1992
  60.  
  61.  
  62. 1.  Additional LCP Packets
  63.  
  64. The Packet format and basic facilities are already defined for LCP [1].
  65.  
  66. The most up-to-date values of the LCP Code field are specified in the
  67. most recent "Assigned Numbers" RFC [2].  This document concerns the
  68. following values:
  69.  
  70.  
  71.    13      Connect-Time
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. Simpson                  expires in six months                  [Page 1]
  114. DRAFT                      PPP LCP extensions              January 1992
  115.  
  116.  
  117. 1.1.  Connect-Time
  118.  
  119.    Description
  120.  
  121.       This Code provides a mechanism for notifying the peer of the time
  122.       remaining in this session.
  123.  
  124.       The nature of this information is advisory only.  It is intended
  125.       that only one side of the connection will send this packet
  126.       (generally a "dial-in server").  The session is concluded by the
  127.       Terminate-Request packet.
  128.  
  129.          Implementation Note: This notification is defined as a separate
  130.          LCP Code, rather than a Configuration-Option, in order that
  131.          changes and warning messages may occur dynamically during the
  132.          session, and that the information might be determined after
  133.          Authentication has occurred.  Typically, this packet is sent at
  134.          the beginning of a session, and at regular intervals throughout
  135.          the session, particularly near the end of the session.
  136.  
  137.    A summary of the Connect-Time packet format is shown below.  The
  138.    fields are transmitted from left to right.
  139.  
  140.     0                   1                   2                   3
  141.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  142.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  143.    |     Code      |  Identifier   |            Length             |
  144.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  145.    |                         Magic-Number                          |
  146.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  147.    |                       Seconds-Remaining                       |
  148.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  149.    | Message ...
  150.    +-+-+-+-+-+-+-+-+-+-+-+-+-
  151.  
  152.  
  153.    Code
  154.  
  155.       13 for Connect-Time
  156.  
  157.    Identifier
  158.  
  159.       The Identifier field is one octet and is for use by the Connect-
  160.       Time transmitter.
  161.  
  162.    Length
  163.  
  164.       >= 12
  165.  
  166.  
  167.  
  168. Simpson                  expires in six months                  [Page 2]
  169. DRAFT                      PPP LCP extensions              January 1992
  170.  
  171.  
  172.    Seconds-Remaining
  173.  
  174.       The Seconds-Remaining field is four octets and indicates the
  175.       number of integral seconds remaining in this session.  This 32 bit
  176.       unsigned value is sent most significant octet first.  A value of
  177.       0xffffffff (all ones) represents no timeout, or "forever".
  178.  
  179.    Message
  180.  
  181.       The Message field is zero or more octets, and its contents are
  182.       implementation dependent.  It is intended to be human readable,
  183.       and MUST NOT affect operation of the protocol.  It is recommended
  184.       that the message contain displayable ASCII characters 32 through
  185.       126 decimal.  Mechanisms for extension to other character sets are
  186.       the topic of future research.  The size is determined from the
  187.       Length field.
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223. Simpson                  expires in six months                  [Page 3]
  224. DRAFT                      PPP LCP extensions              January 1992
  225.  
  226.  
  227. 2.  Additional LCP Configuration Options
  228.  
  229. The Configuration Option format and basic options are already defined
  230. for LCP [1].
  231.  
  232. The most up-to-date values of the LCP Option Type field are specified in
  233. the most recent "Assigned Numbers" RFC [2].  This document concerns the
  234. following values:
  235.  
  236.  
  237.    9       FCS-Alternatives
  238.  
  239.    10      Self-Describing-Pad
  240.  
  241.    13      Callback
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278. Simpson                  expires in six months                  [Page 4]
  279. DRAFT                      PPP LCP extensions              January 1992
  280.  
  281.  
  282. 2.1.  FCS-Alternatives
  283.  
  284.    Description
  285.  
  286.       This Configuration Option provides a way for an implementation to
  287.       specify another FCS format to be sent by the peer, or to negotiate
  288.       away the FCS altogether.
  289.  
  290.       This option is negotiated separately in each direction.  However,
  291.       it is not required that an implementation be capable of
  292.       concurrently generating a different FCS on each side of the link.
  293.  
  294.       More than one FCS Option MAY be present in the same Configure-
  295.       Request, and any remaining FCS Options are Ack'd together.  That
  296.       is, if the implementations agree, each packet may have a different
  297.       FCS.
  298.  
  299.       The negotiated FCS values take effect only during Authentication
  300.       and Network-Layer Protocol phases.  Packets sent during any other
  301.       phase MUST contain the 16-bit FCS.
  302.  
  303.       The link can be subject to loss of state, and the LCP can re-
  304.       negotiate at any time.  When the LCP begins renegotiation, it is
  305.       recommended that the LCP Configure-Request packet be sent with the
  306.       last negotiated FCS, followed by another LCP Configure-Request
  307.       packet with the 16-bit FCS.  On receipt of a LCP Configure-Request
  308.       or Terminate-Request packet, the implementation MUST change to the
  309.       16-bit FCS for both transmission and reception.
  310.  
  311.       The null FCS SHOULD only be used for those network-layer protocols
  312.       which have an end-to-end checksum available, such as TCP/IP, or
  313.       UDP/IP with the checksum enabled.  That is, the null FCS option
  314.       SHOULD be negotiated together with another non-null FCS option in
  315.       a heterogeneous environment.
  316.  
  317.       When an extraneous FCS is provided, any extra octets will appear
  318.       to be padding.  Therefore, the null FCS option MUST NOT be used
  319.       with the Self-Describing-Pad Configuration Option (described
  320.       below).
  321.  
  322.       When a configuration (LCP or NCP) or authentication packet is
  323.       sent, a FCS MUST be included.  When a configuration (LCP or NCP)
  324.       or authentication packet is received, the FCS MUST be verified.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. Simpson                  expires in six months                  [Page 5]
  334. DRAFT                      PPP LCP extensions              January 1992
  335.  
  336.  
  337.    A summary of the FCS-Alternatives Configuration Option format is
  338.    shown below.  The fields are transmitted from left to right.
  339.  
  340.  
  341.     0                   1                   2
  342.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
  343.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  344.    |     Type      |    Length     |      FCS      |
  345.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  346.  
  347.  
  348.    Type
  349.  
  350.       9
  351.  
  352.    Length
  353.  
  354.       3
  355.  
  356.    FCS
  357.  
  358.       This field specifies the kind of FCS to be used on the link.
  359.  
  360.  
  361.       0       no FCS
  362.  
  363.       16      16-bit FCS (default)
  364.  
  365.       32      32-bit FCS
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388. Simpson                  expires in six months                  [Page 6]
  389. DRAFT                      PPP LCP extensions              January 1992
  390.  
  391.  
  392. 2.2.  Self-Describing-Pad
  393.  
  394.    Description
  395.  
  396.       This Configuration Option provides a way for an implementation to
  397.       indicate to the peer that it understands self-describing pads when
  398.       padding is added to the PPP Information field.  This option is
  399.       most likely to be used when network-layer protocols, particularly
  400.       compression protocols, are configured which require detection and
  401.       removal of any trailing pads.  Such protocols are identified in
  402.       thier respective NCP documents.
  403.  
  404.       If the option is Rejected, the peer MUST NOT add padding to such
  405.       protocols, but MAY add padding to other protocols.
  406.  
  407.       If the option is Ack'd, the peer MUST add at least one octet of
  408.       self-describing pad to such protocols, but is not required to add
  409.       unnecessary padding to other protocols.
  410.  
  411.          Implementation Notes: This is defined so that the Reject
  412.          handles either case where the peer does not generate self-
  413.          describing pads; when it does not understand the option, or
  414.          when it never generates pads.
  415.  
  416.          While some implementations might only be capable of adding
  417.          padding to every protocol or not adding padding to any
  418.          protocol, by design the receiver need not examine protocols
  419.          which do not need the pads stripped.
  420.  
  421.          To avoid unnecessary configuration handshakes, an
  422.          implementation which generates padding, and has a protocol
  423.          configured which requires the padding to be known, SHOULD
  424.          include this Option in its Configure-Request, and SHOULD
  425.          Configure-Nak with this Option when it is not present in the
  426.          peer's Request.
  427.  
  428.       Each octet of self-describing pad contains the index of that
  429.       octet; that is, three pad octets would contain the values 1, 2, 3.
  430.       After removing the FCS, the final pad octet contains the number of
  431.       pad octets to remove.
  432.  
  433.          Implementation Note: If any of the pad octets contain an
  434.          incorrect index value, the entire frame SHOULD be silently
  435.          discarded.  This is intended to prevent confusion in an
  436.          environment which understands more than one FCS, but might not
  437.          be necessary in robust implementations.
  438.  
  439.  
  440.  
  441.  
  442.  
  443. Simpson                  expires in six months                  [Page 7]
  444. DRAFT                      PPP LCP extensions              January 1992
  445.  
  446.  
  447.    A summary of the Self-Describing-Pad Configuration Option format is
  448.    shown below.  The fields are transmitted from left to right.
  449.  
  450.  
  451.     0                   1
  452.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  453.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  454.    |     Type      |    Length     |
  455.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  456.  
  457.  
  458.    Type
  459.  
  460.       10
  461.  
  462.    Length
  463.  
  464.       2
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498. Simpson                  expires in six months                  [Page 8]
  499. DRAFT                      PPP LCP extensions              January 1992
  500.  
  501.  
  502. 2.3.  Callback
  503.  
  504.    Description
  505.  
  506.       This Configuration Option provides a way for an implementation to
  507.       request a dial-up peer to call back.  This option might be used
  508.       for many diverse purposes, such as perceived security or savings
  509.       on toll charges.
  510.  
  511.       When callback is successfully negotiated, the Authentication phase
  512.       proceeds directly to Termination phase.
  513.  
  514.          Implementation Note: A peer which agrees to this option SHOULD
  515.          request the Authentication-Protocol Configuration Option.  The
  516.          user information learned during authentication can be used to
  517.          determine the user location, or to limit a user to certain
  518.          locations, or merely to determine who to bill for the service.
  519.  
  520.    A summary of the Callback Option format is shown below.  The fields
  521.    are transmitted from left to right.
  522.  
  523.     0                   1                   2                   3
  524.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  525.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  526.    |     Type      |    Length     |   Operation   |  Message ...
  527.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  528.  
  529.  
  530.    Type
  531.  
  532.       13
  533.  
  534.    Length
  535.  
  536.       >= 3
  537.  
  538.    Operation
  539.  
  540.       The Operation field is one octet and indicates the contents of the
  541.       Message field.
  542.  
  543.       0       location is determined by user authentication
  544.  
  545.       1       telephone number
  546.  
  547.       2       location identifier
  548.  
  549.  
  550.  
  551.  
  552.  
  553. Simpson                  expires in six months                  [Page 9]
  554. DRAFT                      PPP LCP extensions              January 1992
  555.  
  556.  
  557. Message
  558.  
  559.    The Message field is zero or more octets, and its contents are
  560.    determined by the Operation field.  The size is determined from the
  561.    Length field.
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608. Simpson                  expires in six months                 [Page 10]
  609. DRAFT                      PPP LCP extensions              January 1992
  610.  
  611.  
  612. A.  Fast Frame Check Sequence (FCS) Implementation
  613.  
  614. A.1.  32-bit FCS Computation Method
  615.  
  616.    The following code provides a table lookup computation for
  617.    calculating the 32-bit Frame Check Sequence as data arrives at the
  618.    interface.
  619.  
  620.    /*
  621.     * u32 represents an unsigned 32-bit number.  Adjust the typedef for
  622.     * your hardware.
  623.     */
  624.    typedef unsigned long u32;
  625.  
  626.    static u32 fcstab_32[256] =
  627.       {
  628.       0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
  629.       0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
  630.       0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
  631.       0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
  632.       0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
  633.       0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
  634.       0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec,
  635.       0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
  636.       0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
  637.       0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
  638.       0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940,
  639.       0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
  640.       0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116,
  641.       0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
  642.       0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
  643.       0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
  644.       0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a,
  645.       0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
  646.       0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
  647.       0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
  648.       0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
  649.       0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
  650.       0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
  651.       0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
  652.       0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
  653.       0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
  654.       0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
  655.       0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
  656.       0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
  657.       0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
  658.       0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
  659.       0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
  660.  
  661.  
  662.  
  663. Simpson                  expires in six months                 [Page 11]
  664. DRAFT                      PPP LCP extensions              January 1992
  665.  
  666.  
  667.       0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
  668.       0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
  669.       0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
  670.       0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
  671.       0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
  672.       0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
  673.       0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
  674.       0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
  675.       0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
  676.       0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
  677.       0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
  678.       0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
  679.       0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
  680.       0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
  681.       0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
  682.       0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
  683.       0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
  684.       0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
  685.       0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
  686.       0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
  687.       0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
  688.       0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
  689.       0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
  690.       0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
  691.       0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
  692.       0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
  693.       0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
  694.       0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
  695.       0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
  696.       0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
  697.       0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
  698.       0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
  699.       };
  700.  
  701.    #define PPP_INITFCS32 0xffffffff   /* Initial FCS value */
  702.    #define PPP_GOODFCS32 0xfebb20e3   /* Good final FCS value */
  703.  
  704.    /*
  705.     * Calculate a new FCS given the current FCS and the new data.
  706.     */
  707.    u32 pppfcs32(fcs, cp, len)
  708.        register u32 fcs;
  709.        register unsigned char *cp;
  710.        register int len;
  711.        {
  712.        ASSERT(sizeof (u32) == 4);
  713.        ASSERT(((u32) -1) > 0);
  714.        while (len--)
  715.  
  716.  
  717.  
  718. Simpson                  expires in six months                 [Page 12]
  719. DRAFT                      PPP LCP extensions              January 1992
  720.  
  721.  
  722.            fcs = (((fcs) >> 8) ^ fcstab_32[((fcs) ^ (*cp++)) & 0xff]);
  723.  
  724.        return (fcs);
  725.        }
  726.  
  727.    main()
  728.        {
  729.        int len;
  730.        u32 fcs;
  731.        unsigned char buf[10];
  732.  
  733.        fcs = PPP_INITFCS32;
  734.  
  735.        while ((len = read(0, buf, sizeof buf)) > 0)
  736.            fcs = pppfcs32(fcs, buf, len);
  737.  
  738.        printf("0x%08X0, fcs);
  739.        exit(0);
  740.        }
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773. Simpson                  expires in six months                 [Page 13]
  774. DRAFT                      PPP LCP extensions              January 1992
  775.  
  776.  
  777. Security Considerations
  778.  
  779.    Security issues are not discussed in this memo.
  780.  
  781.  
  782. References
  783.  
  784.    [1]   Simpson, W.A., "The Point-to-Point Protocol (PPP)", RFC 1331,
  785.          May 1992.
  786.  
  787.    [2]   Reynolds, J.K., Postel, J.B., "Assigned Numbers", RFC 1340,
  788.          July 1992.
  789.  
  790.  
  791. Acknowledgments
  792.  
  793.    Some of the original text for FCS-Alternatives was provided by Arthur
  794.    Harvey (then of DEC).  The null FCS was requested by Peter Honeyman
  795.    (UMich).  The 32-bit FCS example code was provided by Karl Fox
  796.    (Morning Star Technologies).
  797.  
  798.    The Self-Describing-Pad was suggested and named by Fred Baker (ACC).
  799.  
  800.    The Connect-Time feature was suggested by Brad Parker (then of
  801.    Cayman).
  802.  
  803.  
  804. Chair's Address
  805.  
  806.    The working group can be contacted via the current chair:
  807.  
  808.       Brian Lloyd
  809.       B.P. Lloyd & Associates, Inc.
  810.       3420 Sudbury Road
  811.       Cameron Park, California 95682
  812.  
  813.       Phone: (916) 676-1147
  814.  
  815.       EMail: brian@lloyd.com
  816.  
  817.  
  818. Author's Address
  819.  
  820.    Questions about this memo can also be directed to:
  821.  
  822.       William Allen Simpson
  823.       Daydreamer
  824.       Computer Systems Consulting Services
  825.  
  826.  
  827.  
  828. Simpson                  expires in six months                 [Page 14]
  829. DRAFT                      PPP LCP extensions              January 1992
  830.  
  831.  
  832.       P O Box 6205
  833.       East Lansing, MI  48826-6205
  834.  
  835.       EMail: Bill.Simpson@um.cc.umich.edu
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883. Simpson                  expires in six months                 [Page 15]
  884. DRAFT                      PPP LCP extensions              January 1992
  885.  
  886.  
  887.                            Table of Contents
  888.  
  889.  
  890.      1.     Additional LCP Packets ................................    1
  891.         1.1       Connect-Time ....................................    2
  892.  
  893.      2.     Additional LCP Configuration Options ..................    4
  894.         2.1       FCS-Alternatives ................................    5
  895.         2.2       Self-Describing-Pad .............................    7
  896.         2.3       Callback ........................................    9
  897.  
  898.      APPENDICES ...................................................   11
  899.  
  900.      A.     Fast Frame Check Sequence (FCS) Implementation ........   11
  901.         A.1       32-bit FCS Computation Method ...................   11
  902.  
  903.      SECURITY CONSIDERATIONS ......................................   14
  904.  
  905.      REFERENCES ...................................................   14
  906.  
  907.      ACKNOWLEDGEMENTS .............................................   14
  908.  
  909.      CHAIR'S ADDRESS ..............................................   14
  910.  
  911.      AUTHOR'S ADDRESS .............................................   14
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.